1. Field of the Invention
This invention relates to a spindle sync control for synchronously rotating individual spindle motors such as a plurality of magnetic disk drives connected in parallel to a host computer.
There is recently a tendency to demand, in a computer system, a transfer of large amounts of data at high speed, and therefore, storage drives such as magnetic disk drives are also required to transfer large amounts of data at high speed to exchange data with a host computer.
2. Description of the Related Art
In general, in a single unit of a magnetic disk drive, data transfer speed is limited by a rotation speed of a motor which rotates a magnetic disk as a recording medium. Accordingly, if it is intended to attain high speed operation by increasing a data transfer speed, it is necessary to perform read/write operations in parallel by driving a plurality of disk drives, called a disk array drive, simultaneously. At this time, according to a command from a host computer, the spindle motors of the magnetic disk drives such as disk array drives connected in parallel with the host computer are synchronously rotated, so that it becomes possible to perform a parallel transfer of data.
This function is generally referred to as a spindle sync.
The spindle sync is used to control a spindle motor so as to synchronize a reference index from a computer system with a medium index generated in a medium index generating circuit.
The reference index is a reference signal sent from the host computer to a magnetic disk to synchronize rotation of the disk medium. The medium index is a signal used to reproduce and generate an index stored in the disk medium and to conform with the above reference signal.
When a seeking data on a disk medium by moving a magnetic head for a read/write operation on the magnetic disk, if a normal seek cannot be achieved due to a disturbance or flaws on the disk medium, a seek error occurs and the magnetic disk drive enters into a rare uncontrolled status in which it is not certain where the magnetic head is located. Due this seek error, if the medium index becomes abnormal, the drive per se goes out of control, and thus the spindle sync function becomes abnormal. Accordingly, a spindle control system is required which is capable of carrying out the spindle sync normally even in the event of an occurrence of an error such as a seek error.
As a conventional spindle sync control system, there is one as shown in FIGS. 1 and 2, for example.
In FIG. 2, indicated at IA is a reference index which is sent from the host computer to the magnetic disk drive. A count value corresponding to a generation timing of the reference index IA is stored in a reference index register of the magnetic disk drive.
Indicated at IB is a medium index which is generated in a medium index generating circuit in accordance with a servo signal from a servo head. A count value corresponding to a generation of the medium index IB is stored in a medium index register.
Indicated at a is the count value of the reference index IA stored in the reference index register, and at b is the count value of the medium index IB stored in the medium index register.
Further, indicated at A is one cycle of the reference index IA and the medium index IB, and at B is a half cycle of the reference index IA and the medium index IB. Indicated at D is an offset value of the medium index IB relative to the reference index IA, and at C is a phase difference between the reference index IA and the medium index IB.
A control value (PWM signal) is calculated and used in controlling the spindle motor with reference to a flow chart shown in FIG. 1.
In FIG. 1, in Step S1, when the count value a of the reference index IA is stored in the reference index register, the count value a is output to a MPU, which in turn discriminates the presence or absence of the reference index IA. If the reference index IA is present, Err is calculated by subtracting a from b in Step S2. Err is represented by D in FIG. 2, and is an offset value. The value Err is always a negative value because it is calculated using the expression (b-a).
In Step S3, it is discriminated whether an absolute value of Err is not smaller than the value B corresponding to the half cycle of the disk medium. When ABS (Err)&lt;B, this routine proceeds to Step S8, where ABS denotes "absolute".
When ABS (Err).gtoreq.B, the value B corresponding to the half cycle is added to the value Err and the thus obtained value is set as a new value Err.
In Step S5, it is discriminated whether an absolute value of Err is not smaller than the value B. When ABS (Err).gtoreq.B, this routine proceeds to Step S3 after adding the value B to the value Err.
When ABS (Err)&lt;B in Step S5, the value B is added to the value Err. In other words, the phase difference indicated at C in FIG. 2 is obtained.
Steps S3 to S7 show a process for determining whether the spindle motor should be accelerated or decelerated by comparing ABS (Err) with the value B. More specifically, the spindle motor is decelerated when ABS (Err).gtoreq.B, and accelerated when ABS (Err)&lt;B. By this process, the control can be executed rapidly. It will be appreciated that the value Err does not become infinite because it is defined to be a negative value.
In Step S8, the value Err is added to a current value DEF for rotating the spindle motor at a fixed speed corresponding to the value A so as to determine the control value (PWM signal). The rotation of the spindle motor is controlled in accordance with the thus determined control value so as to cause the phase of the reference index to correspond with that of the medium index.
When the phase of the reference index corresponds with that of the medium index, the data can be written or read in or from a plurality of magnetic disk drives simultaneously.
As explained above, in the known spindle sync control system, control of a spindle motor is carried out based on a phase difference between the medium index and the reference index.
In this case, the medium index is produced from a servo signal for a servo head written in a record medium (disk), and therefore the spindle sync control can be attained under the condition where the servo signal is surely obtained. As mentioned before, however, if the servo signal for the servo head cannot be obtained due to a seek error (about one error occurs per 10.sup.6 seeks) caused by a disturbance or flaws on the disk medium and so on, the medium index cannot be generated normally. If the medium index cannot be generated normally, the spindle sync function also becomes abnormal, and thereby a spindle sync error occurs.
At the moment when the spindle sync error occurs, a certain rare phenomena happens in which the disk head goes out of control to reach erase zones at both ends of the disk medium. In order to recover from this state to a normal state, a return-to-zero (reset) operation is conducted so as to restart the spindle sync after the medium index generating circuit starts its operation normally. It takes 10 seconds or more to change from the reset-to-zero operation to the restart of the spindle sync and this becomes a factor in a system going down.